/*
@title: SprigAlarm
@description: SprigAlarm is an alarm clock where you can set an alarm. When it goes off, you need to memorize a code and enter it to turn the alarm off.
@author: Manitej Boorgu
@tags: []
@addedOn: 2024-03-26
First time? Check out the tutorial game:
https://sprig.hackclub.com/gallery/getting_started

*/

/*
	How to use Sprig Alarm?
	Sprig Alarm can be controlled using the WASD keys.
	
 	At the clock, use any of the WASD keys to open the menu. You can control the menu using WASD, including modifying clock time, enabling/disabling the clock, and test the clock.
  	When the clock goes off, a tune will play. You will need to memorize the on screen code and then re-enter that code in the following page to disable the clock.
*/

/*
  Song Stuff
*/
// PASTED FROM GEN
// a list of all tracks found in the midi file
// Shooting Stars by Bag Raiders
let tracks = [
tune`
`,
tune`
`,
tune`
23132.530120481926`,
tune`
`,
tune`
23040,
480.00000000000045: E1^239.99999999999844,
480.00000000000045: E1^239.99999999999844,
839.9999999999999: E1^239.99999999999844,
359.99999999999943: E1^239.99999999999844,
480.00000000000045: E2^239.99999999999844,
239.99999999999844: E1^239.99999999999844,
240.000000000002: E1^240.000000000002,
239.99999999999844: E2^239.99999999999844,
240.000000000002: D#1^240.000000000002,
239.99999999999844: D#2^239.99999999999844,
480.00000000000045: C#1^239.99999999999844,
480.00000000000045: C#1^239.99999999999844,
839.9999999999999: C#1^239.99999999999844,
359.99999999999943: C#1^239.99999999999844,
480.00000000000045: C#2^239.99999999999844,
239.99999999999844: C#1^239.99999999999844,
240.000000000002: C#1^240.000000000002,
239.99999999999844: C#2^239.99999999999844,
240.000000000002: F#1^240.000000000002,
239.99999999999844: F#2^239.99999999999844,
480.00000000000045: G#1^239.99999999999844,
480.00000000000045: G#1^239.99999999999844,
839.9999999999964: G#1^239.99999999999844,
359.99999999999943: G#1^240.000000000002,
480.000000000004: G#2^240.000000000002,
240.000000000002: G#1^240.000000000002,
239.99999999999488: G#1^239.99999999999488,
240.000000000002: G#2^240.000000000002,
240.000000000002: A#1^240.000000000002,
240.000000000002: A#2^240.000000000002,
479.9999999999969: B1^239.99999999999488,
479.9999999999969: B1^240.000000000002,
359.99999999999943: B1^240.000000000002,
360.00000000000654: B2^240.000000000002,
239.99999999999488: B1^239.99999999999488,
240.000000000002: B1^240.000000000002,
240.000000000002: B2^240.000000000002,
239.99999999999488: C#2^239.99999999999488,
240.000000000002: C#3^240.000000000002,
240.000000000002: D#2^240.000000000002,
240.000000000002: D#3^240.000000000002,
239.99999999999488: B1^239.99999999999488,
240.000000000002: B2^240.000000000002,
479.9999999999969: E1^240.000000000002,
480.000000000004: E1^240.000000000002,
839.9999999999964: E1^240.000000000002,
359.99999999999943: E1^240.000000000002,
480.000000000004: E2^240.000000000002,
240.000000000002: E1^240.000000000002,
239.99999999999488: E1^239.99999999999488,
240.000000000002: E2^240.000000000002,
240.000000000002: D#1^240.000000000002,
239.99999999999488: D#2^239.99999999999488,
480.000000000004: C#1^240.000000000002,
479.9999999999969: C#1^240.000000000002,
840.0000000000034: C#1^240.000000000002,
359.99999999999943: C#1^240.000000000002,
479.9999999999969: C#2^240.000000000002,
240.000000000002: C#1^240.000000000002,
240.000000000002: C#1^240.000000000002,
240.000000000002: C#2^240.000000000002,
239.99999999999488: F#1^239.99999999999488,
240.000000000002: F#2^240.000000000002,
479.9999999999969: G#1^240.000000000002,
480.000000000004: G#1^240.000000000002,
839.9999999999964: G#1^240.000000000002,
359.99999999999943: G#1^240.000000000002,
480.000000000004: G#2^240.000000000002,
240.000000000002: G#1^240.000000000002,
239.99999999999488: G#1^239.99999999999488,
240.000000000002: G#2^240.000000000002,
240.000000000002: A#1^240.000000000002,
240.000000000002: A#2^240.000000000002,
479.9999999999969: B1^239.99999999999488,
479.9999999999969: B1^240.000000000002,
359.99999999999943: B1^240.000000000002,
360.00000000000654: B2^240.000000000002,
239.99999999999488: B1^239.99999999999488,
240.000000000002: B1^240.000000000002,
240.000000000002: B2^240.000000000002,
239.99999999999488: C#2^239.99999999999488,
240.000000000002: C#3^240.000000000002,
240.000000000002: D#2^240.000000000002,
240.000000000002: D#3^240.000000000002,
239.99999999999488: B1^239.99999999999488,
240.000000000002: B2^240.000000000002,
479.9999999999969: E1^240.000000000002,
480.000000000004: E1^240.000000000002,
839.9999999999964: E1^240.000000000002,
359.99999999999943: E1^240.000000000002,
480.000000000004: E2^240.000000000002,
240.000000000002: E1^240.000000000002,
239.99999999999488: E1^239.99999999999488,
240.000000000002: E2^240.000000000002,
240.000000000002: D#1^240.000000000002,
239.99999999999488: D#2^239.99999999999488,
480.000000000004: C#1^240.000000000002,
479.9999999999969: C#1^240.000000000002,
840.0000000000034: C#1^240.000000000002,
359.99999999999943: C#1^240.000000000002,
479.9999999999969: C#2^240.000000000002,
240.000000000002: C#1^240.000000000002,
240.000000000002: C#1^240.000000000002,
240.000000000002: C#2^240.000000000002,
239.99999999999488: F#1^239.99999999999488,
240.000000000002: F#2^240.000000000002,
479.9999999999969: G#1^240.000000000002,
480.000000000004: G#1^240.000000000002,
839.9999999999964: G#1^240.000000000002,
359.99999999999943: G#1^240.000000000002,
480.000000000004: G#2^240.000000000002,
239.99999999999488: G#1^239.99999999999488,
240.0000000000091: G#1^240.0000000000091,
239.99999999999488: G#2^239.99999999999488,
239.99999999999488: A#1^239.99999999999488,
240.0000000000091: A#2^240.0000000000091,
479.99999999998977: B1^239.99999999999488,
480.000000000004: B1^240.0000000000091,
359.99999999999943: B1^240.0000000000091,
359.99999999999943: B2^240.0000000000091,
240.0000000000091: B1^240.0000000000091,
239.99999999999488: B1^239.99999999999488,
239.99999999999488: B2^239.99999999999488,
240.0000000000091: C#2^240.0000000000091,
239.99999999999488: C#3^239.99999999999488,
239.99999999999488: D#2^239.99999999999488,
240.0000000000091: D#3^240.0000000000091,
239.99999999999488: B1^239.99999999999488,
240.0000000000091: B2^240.0000000000091,
479.99999999998977: E1^239.99999999999488,
480.000000000004: E1^240.0000000000091,
840.0000000000034: E1^239.99999999999488,
359.99999999999943: E1^239.99999999999488,
479.99999999998977: E2^239.99999999999488,
240.0000000000091: E1^240.0000000000091,
239.99999999999488: E1^239.99999999999488,
240.0000000000091: E2^240.0000000000091,
239.99999999999488: D#1^239.99999999999488,
239.99999999999488: D#2^239.99999999999488,
480.000000000004: C#1^240.0000000000091,
480.000000000004: C#1^239.99999999999488,
839.9999999999892: C#1^239.99999999999488,
359.99999999999943: C#1^240.0000000000091,
480.000000000004: C#2^240.0000000000091,
240.0000000000091: C#1^240.0000000000091,
239.99999999999488: C#1^239.99999999999488,
239.99999999999488: C#2^239.99999999999488,
240.0000000000091: F#1^240.0000000000091,
239.99999999999488: F#2^239.99999999999488,
480.000000000004: G#1^239.99999999999488,
479.99999999998977: G#1^239.99999999999488,
840.0000000000034: G#1^240.0000000000091,
359.99999999999943: G#1^240.0000000000091,
480.000000000004: G#2^240.0000000000091,
239.99999999999488: G#1^239.99999999999488,
240.0000000000091: G#1^240.0000000000091,
239.99999999999488: G#2^239.99999999999488,
239.99999999999488: A#1^239.99999999999488,
240.0000000000091: A#2^240.0000000000091,
479.99999999998977: B1^239.99999999999488,
480.000000000004: B1^240.0000000000091,
359.99999999999943: B1^240.0000000000091,
359.99999999999943: B2^240.0000000000091,
240.0000000000091: B1^240.0000000000091,
239.99999999999488: B1^239.99999999999488,
239.99999999999488: B2^239.99999999999488,
240.0000000000091: C#2^240.0000000000091,
239.99999999999488: C#3^239.99999999999488,
239.99999999999488: D#2^239.99999999999488,
240.0000000000091: D#3^240.0000000000091,
239.99999999999488: B1^239.99999999999488,
239.99999999999488: B2^239.99999999999488,
480.000000000004: E1^240.0000000000091,
480.000000000004: E1^240.0000000000091,
840.0000000000034: E1^239.99999999999488,
359.99999999999943: E1^239.99999999999488,
479.99999999998977: E2^239.99999999999488,
240.0000000000091: E1^240.0000000000091,
239.99999999999488: E1^239.99999999999488,
240.0000000000091: E2^240.0000000000091,
239.99999999999488: D#1^239.99999999999488,
239.99999999999488: D#2^239.99999999999488,
480.000000000004: C#1^240.0000000000091,
480.000000000004: C#1^239.99999999999488,
839.9999999999892: C#1^239.99999999999488,
359.99999999999943: C#1^240.0000000000091,
480.000000000004: C#2^240.0000000000091,
240.0000000000091: C#1^240.0000000000091,
239.99999999999488: C#1^239.99999999999488,
239.99999999999488: C#2^239.99999999999488,
240.0000000000091: F#1^240.0000000000091,
239.99999999999488: F#2^239.99999999999488,
480.000000000004: G#1^239.99999999999488,
479.99999999998977: G#1^239.99999999999488,
840.0000000000034: G#1^240.0000000000091,
359.99999999999943: G#1^240.0000000000091,
480.000000000004: G#2^240.0000000000091,
239.99999999999488: G#1^239.99999999999488,
240.0000000000091: G#1^240.0000000000091,
239.99999999999488: G#2^239.99999999999488,
239.99999999999488: A#1^239.99999999999488,
240.0000000000091: A#2^240.0000000000091,
479.99999999998977: B1^239.99999999999488,
480.000000000004: B1^240.0000000000091,
359.99999999999943: B1^240.0000000000091,
359.99999999999943: B2^240.0000000000091,
240.0000000000091: B1^240.0000000000091,
239.99999999999488: B1^239.99999999999488,
239.99999999999488: B2^239.99999999999488,
240.0000000000091: C#2^240.0000000000091,
239.99999999999488: C#3^239.99999999999488,
239.99999999999488: D#2^239.99999999999488,
240.0000000000091: D#3^240.0000000000091,
239.99999999999488: B1^239.99999999999488,
240.0000000000091: B2^240.0000000000091,
479.99999999998977: E1^239.99999999999488,
480.000000000004: E1^240.0000000000091,
840.0000000000034: E1^239.99999999999488,
359.99999999999943: E1^239.99999999999488,
479.99999999998977: E2^239.99999999999488,
240.0000000000091: E1^240.0000000000091,
239.99999999999488: E1^239.99999999999488,
240.0000000000091: E2^240.0000000000091,
239.99999999999488: D#1^239.99999999999488,
239.99999999999488: D#2^239.99999999999488,
480.000000000004: C#1^240.0000000000091,
480.000000000004: C#1^239.99999999999488,
839.9999999999892: C#1^239.99999999999488,
359.99999999999943: C#1^240.0000000000091,
480.000000000004: C#2^240.0000000000091,
240.0000000000091: C#1^240.0000000000091,
239.99999999999488: C#1^239.99999999999488,
239.99999999999488: C#2^239.99999999999488,
240.0000000000091: F#1^240.0000000000091,
239.99999999999488: F#2^239.99999999999488,
480.000000000004: G#1^239.99999999999488,
479.99999999998977: G#1^239.99999999999488,
840.0000000000034: G#1^240.0000000000091,
359.99999999999943: G#1^240.0000000000091,
480.000000000004: G#2^240.0000000000091,
239.99999999999488: G#1^239.99999999999488,
240.0000000000091: G#1^240.0000000000091,
239.99999999999488: G#2^239.99999999999488,
239.99999999999488: A#1^239.99999999999488,
240.0000000000091: A#2^240.0000000000091,
111360: B1^239.99999999999488,
`,
tune`
`,
tune`
7680,
0: G#3^1920,
0: E4^1920,
1920: B3^1920,
0: E4^1920,
0: C#4^1920,
1920: G#3^1920,
0: G#3^1920,
0: E4^1920,
1920: B3^1920,
0: E4^1920,
0: C#4^1920,
1920: G#3^1920,
0: G#3^1920.0000000000018,
0: E4^1920.0000000000018,
1920.0000000000018: B3^1920.0000000000018,
0: E4^1919.9999999999982,
0: C#4^1919.9999999999982,
1919.9999999999982: G#3^1919.9999999999982,
0: G#3^1919.9999999999982,
0: E4^1919.9999999999982,
3840: B3^1919.9999999999982,
0: G#4^1920.0000000000018,
0: E4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1919.9999999999982,
0: E4^1919.9999999999982,
1919.9999999999982: B4^1919.9999999999982,
0: D#5^1919.9999999999982,
0: G#4^1919.9999999999982,
1919.9999999999982: B4^1919.9999999999982,
0: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1919.9999999999945,
0: F#4^1919.9999999999945,
1919.9999999999945: B4^1919.9999999999945,
0: D#5^1920.0000000000018,
0: A#4^1920.0000000000018,
1920.0000000000018: F#4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: E4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1919.9999999999945,
0: E4^1919.9999999999945,
1919.9999999999945: B4^1919.9999999999945,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1919.9999999999945,
0: F#4^1919.9999999999945,
1919.9999999999945: B4^1919.9999999999945,
0: D#5^1920.0000000000018,
0: A#4^1920.0000000000018,
1920.0000000000018: F#4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: E4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1919.9999999999945,
0: E4^1919.9999999999945,
1919.9999999999945: B4^1919.9999999999945,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: F#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: A#4^1920.0000000000018,
1920.0000000000018: F#4^1920.0000000000018,
0: G#4^1919.9999999999875,
0: E4^1919.9999999999875,
1919.9999999999875: B4^1919.9999999999875,
0: G#4^1920.0000000000018,
0: E4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: F#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1919.9999999999875,
0: A#4^1919.9999999999875,
1919.9999999999875: F#4^1919.9999999999875,
0: G#4^1920.0000000000018,
0: E4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: E4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: G#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: G#4^1920.0000000000018,
0: D#5^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: F#4^1920.0000000000018,
1920.0000000000018: B4^1920.0000000000018,
0: D#5^1920.0000000000018,
0: A#4^1920.0000000000018,
28799.999999999996: F#4^1920.0000000000018,
0: G#4^1919.9999999999875,
0: E4^1919.9999999999875,
1919.9999999999875: B4^1919.9999999999875,
0: G#4^1920.000000000016,
0: E4^1920.000000000016,
1920.000000000016: B4^1920.000000000016,
0: D#5^1919.9999999999875,
0: G#4^1919.9999999999875,
1919.9999999999875: B4^1919.9999999999875,
0: B4^1920.000000000016,
0: D#5^1920.000000000016,
132480: G#4^1920.000000000016,
`,
tune`
0,
0: F#3^60,
120: B1^240,
120: F#3^60,
120: F#3^60,
120: F#3^60,
0: D#2^240,
120: F#3^60.00000000000006,
120: F#3^59.99999999999994,
120: F#3^60.00000000000006,
120: F#3^59.99999999999994,
120.00000000000011: F#3^60.00000000000006,
119.99999999999989: F#3^59.99999999999983,
119.99999999999989: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
0: F#3^30.00000000000003,
30.00000000000003: D#2^240,
90.00000000000009: F#3^30.00000000000003,
119.99999999999989: F#3^59.99999999999983,
119.99999999999989: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
119.99999999999966: F#3^59.99999999999961,
120.00000000000011: F#3^60.00000000000006,
0: F#3^60.00000000000006,
120.00000000000011: D#2^239.99999999999977,
119.99999999999966: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
119.99999999999966: F#3^59.99999999999961,
120.00000000000011: F#3^60.00000000000006,
0: D#2^239.99999999999977,
29.999999999999805: F#3^29.999999999999805,
90.0000000000003: F#3^30.00000000000025,
119.99999999999966: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
120.00000000000011: F#3^60.00000000000006,
0: F#3^60.00000000000006,
120.00000000000011: B1^240.00000000000023,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
0: F#3^59.99999999999961,
119.99999999999922: D#2^239.99999999999932,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
119.99999999999922: F#3^59.99999999999961,
0: F#3^30.00000000000025,
30.00000000000025: D#2^240.00000000000023,
89.99999999999986: F#3^30.00000000000025,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
0: F#3^59.99999999999961,
119.99999999999922: D#2^239.99999999999932,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
119.99999999999922: F#3^59.99999999999961,
0: F#3^30.00000000000025,
30.00000000000025: D#2^240.00000000000023,
89.99999999999986: F#3^30.00000000000025,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
120.00000000000011: F#3^60.0000000000005,
0: B1^240.00000000000023,
120.00000000000011: F#3^59.99999999999961,
120.00000000000011: F#3^59.99999999999961,
119.99999999999922: F#3^59.99999999999961,
120.000000000001: F#3^60.0000000000005,
0: F#3^59.99999999999872,
0: D#2^240.00000000000023,
119.99999999999922: B1^240.00000000000023,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
120.000000000001: F#3^60.0000000000005,
0: B1^239.99999999999844,
119.99999999999922: F#3^59.99999999999872,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
0: F#3^30.000000000001137,
0: D#2^240.00000000000023,
30.000000000001137: B1^240.00000000000023,
89.99999999999986: F#3^29.99999999999936,
119.99999999999922: F#3^59.99999999999872,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
0: B1^240.00000000000023,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
0: F#3^59.99999999999872,
0: D#2^240.00000000000023,
119.99999999999922: B1^240.00000000000023,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
119.99999999999922: F#3^60.0000000000005,
0: B1^240.00000000000023,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
0: F#3^30.000000000001137,
0: D#2^240.00000000000023,
30.000000000001137: B1^240.00000000000023,
89.99999999999986: F#3^29.99999999999936,
119.99999999999922: F#3^59.99999999999872,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
0: B1^240.00000000000023,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
0: F#3^59.99999999999872,
0: D#2^240.00000000000023,
119.99999999999922: B1^240.00000000000023,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
120.000000000001: F#3^60.0000000000005,
0: B1^239.99999999999844,
119.99999999999922: F#3^59.99999999999872,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
0: F#3^30.000000000001137,
0: D#2^240.00000000000023,
30.000000000001137: B1^240.00000000000023,
89.99999999999986: F#3^29.99999999999936,
119.99999999999922: F#3^59.99999999999872,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
0: B1^240.00000000000023,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
0: F#3^59.99999999999872,
0: D#2^240.00000000000023,
119.99999999999922: B1^240.00000000000023,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
119.99999999999922: F#3^60.0000000000005,
0: B1^240.00000000000023,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
0: F#3^30.000000000001137,
0: D#2^240.00000000000023,
30.000000000001137: B1^240.00000000000023,
89.99999999999986: F#3^29.99999999999936,
119.99999999999922: F#3^59.99999999999872,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^59.99999999999872,
0: B1^240.00000000000023,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.0000000000005,
0: F#3^59.99999999999872,
0: D#2^239.99999999999844,
119.99999999999922: B1^239.99999999999844,
119.99999999999922: F#3^60.0000000000005,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
0: B1^239.99999999999844,
119.99999999999744: F#3^59.99999999999872,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
0: F#3^29.999999999997584,
0: D#2^239.99999999999844,
29.999999999997584: B1^239.99999999999844,
89.99999999999986: F#3^30.000000000001137,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
120.000000000001: F#3^59.99999999999872,
0: B1^239.99999999999844,
119.99999999999744: F#3^59.99999999999872,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
0: F#3^60.000000000002274,
0: D#2^240.000000000002,
120.000000000001: B1^240.000000000002,
120.000000000001: F#3^59.99999999999872,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
0: B1^240.000000000002,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
120.000000000001: F#3^60.000000000002274,
0: F#3^30.000000000001137,
0: D#2^240.000000000002,
30.000000000001137: B1^240.000000000002,
89.99999999999986: F#3^29.999999999997584,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
120.000000000001: F#3^60.000000000002274,
0: B1^239.99999999999844,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^60.000000000002274,
0: B1^239.99999999999844,
0: D#2^239.99999999999844,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
0: B1^239.99999999999844,
119.99999999999744: F#3^59.99999999999872,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
0: B1^239.99999999999844,
0: D#2^239.99999999999844,
29.999999999997584: F#3^29.999999999997584,
89.99999999999986: F#3^30.000000000001137,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
0: B1^240.000000000002,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^60.000000000002274,
120.000000000001: F#3^59.99999999999872,
119.99999999999744: F#3^59.99999999999872,
30.000000000001137: F#3^30.000000000001137,
89.99999999999986: F#3^30.000000000001137,
120.000000000001: F#3^59.99999999999872,
120.000000000001: F#3^59.99999999999872,
1079.9999999999982: F#3^59.99999999999872,
0: C2^120.000000000001,
239.99999999999844: F#2^120.000000000001,
240.000000000002: F#2^120.000000000001,
0: C2^120.000000000001,
0: D#2^120.000000000001,
0: F#2^120.000000000001,
239.99999999999844: D2^120.000000000001,
240.000000000002: F#2^120.000000000001,
0: C2^119.99999999999744,
239.99999999999844: F#2^119.99999999999744,
240.000000000002: F#2^120.000000000001,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999844: D2^119.99999999999744,
240.000000000002: F#2^120.000000000001,
0: F#2^119.99999999999744,
239.99999999999844: C2^119.99999999999744,
239.99999999999844: F#2^120.000000000001,
0: C2^120.000000000001,
0: D#2^120.000000000001,
0: F#2^120.000000000001,
240.000000000002: D2^120.000000000001,
239.99999999999844: F#2^120.000000000001,
0: C2^120.000000000001,
240.000000000002: F#2^120.000000000001,
239.99999999999844: F#2^119.99999999999744,
0: C2^120.000000000001,
0: D#2^120.000000000001,
0: F#2^120.000000000001,
240.000000000002: D2^120.000000000001,
239.99999999999844: F#2^119.99999999999744,
0: F#2^120.000000000001,
239.99999999999844: C2^120.000000000001,
240.000000000002: F#2^120.000000000001,
0: C2^120.000000000001,
0: D#2^120.000000000001,
0: F#2^120.000000000001,
239.99999999999844: D2^120.000000000001,
240.000000000002: F#2^120.000000000001,
0: C2^119.99999999999744,
239.99999999999844: F#2^119.99999999999744,
240.000000000002: F#2^120.000000000001,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999844: D2^119.99999999999744,
239.99999999999844: F#2^120.000000000001,
0: F#2^120.000000000001,
240.000000000002: C2^120.000000000001,
239.99999999999844: F#2^120.000000000001,
0: C2^120.000000000001,
0: D#2^120.000000000001,
0: F#2^120.000000000001,
240.000000000002: D2^120.000000000001,
239.99999999999844: F#2^120.000000000001,
0: C2^120.000000000001,
240.000000000002: F#2^120.000000000001,
239.99999999999844: F#2^119.99999999999744,
0: C2^120.000000000001,
0: D#2^120.000000000001,
0: F#2^120.000000000001,
240.000000000002: D2^120.000000000001,
239.99999999999844: F#2^119.99999999999744,
0: F#2^120.000000000001,
239.99999999999844: C2^120.000000000001,
240.000000000002: F#2^120.000000000001,
0: C2^120.000000000001,
0: D#2^120.000000000001,
0: F#2^120.000000000001,
239.99999999999844: D2^120.000000000001,
240.000000000002: F#2^120.000000000001,
0: C2^119.99999999999744,
239.99999999999844: F#2^119.99999999999744,
239.99999999999844: F#2^120.000000000001,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: C2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: C2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: F#2^120.00000000000455,
240.000000000002: C2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
0: D#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: F#2^119.99999999999744,
240.000000000002: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
0: D#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: C2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: F#2^120.00000000000455,
240.000000000002: C2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: F#2^120.00000000000455,
240.000000000002: C2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: F#2^119.99999999999744,
240.000000000002: C2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: C2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: C2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: F#2^120.00000000000455,
240.000000000002: C2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
0: D#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: F#2^119.99999999999744,
240.000000000002: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
0: D#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: C2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: F#2^120.00000000000455,
240.000000000002: C2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
240.000000000002: D2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: F#2^120.00000000000455,
240.000000000002: C2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
0: C2^119.99999999999744,
0: D#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: D2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: F#2^119.99999999999744,
240.000000000002: C2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^120.00000000000455,
0: C2^119.99999999999744,
240.000000000002: F#2^119.99999999999744,
239.99999999999488: F#2^119.99999999999744,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
240.000000000002: F#2^119.99999999999744,
0: F#2^119.99999999999744,
239.99999999999488: C2^119.99999999999744,
240.000000000002: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.000000000002: D2^120.00000000000455,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
239.99999999999488: D2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: F#2^119.99999999999034,
239.99999999999488: C2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
239.99999999999488: D2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: F#2^119.99999999999034,
239.99999999999488: C2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: F#2^120.00000000000455,
0: D#2^120.00000000000455,
0: C2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: F#2^120.00000000000455,
239.99999999999488: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: F#2^119.99999999999034,
0: D#2^119.99999999999034,
0: C2^119.99999999999034,
239.99999999999488: D2^119.99999999999034,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
239.99999999999488: F#2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
239.99999999999488: F#2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
0: D#2^119.99999999999034,
0: F#2^119.99999999999034,
239.99999999999488: D2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: C2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
239.99999999999488: D2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
239.99999999999488: F#2^119.99999999999034,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
0: D#2^119.99999999999034,
0: F#2^119.99999999999034,
239.99999999999488: D2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: C2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
239.99999999999488: D2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
239.99999999999488: F#2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: F#2^120.00000000000455,
239.99999999999488: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
239.99999999999488: D2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
239.99999999999488: F#2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: F#2^120.00000000000455,
239.99999999999488: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
0: D#2^119.99999999999034,
0: F#2^119.99999999999034,
239.99999999999488: D2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: F#2^120.00000000000455,
239.99999999999488: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: C2^119.99999999999034,
0: D#2^119.99999999999034,
0: F#2^119.99999999999034,
239.99999999999488: D2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
239.99999999999488: D2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: F#2^119.99999999999034,
239.99999999999488: C2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#2^120.00000000000455,
239.99999999999488: D2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: F#2^119.99999999999034,
239.99999999999488: C2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: F#2^120.00000000000455,
0: D#2^120.00000000000455,
0: C2^120.00000000000455,
240.0000000000091: D2^120.00000000000455,
239.99999999999488: F#2^119.99999999999034,
0: F#2^120.00000000000455,
239.99999999999488: C2^120.00000000000455,
240.0000000000091: F#2^120.00000000000455,
0: F#2^119.99999999999034,
0: D#2^119.99999999999034,
0: C2^119.99999999999034,
239.99999999999488: D2^119.99999999999034,
239.99999999999488: F#2^120.00000000000455,
0: C2^120.00000000000455,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#3^60.000000000002274,
0: D#2^120.00000000000455,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: F#2^119.99999999999034,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^59.99999999998806,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: D2^119.99999999999034,
0: F#3^30.000000000001137,
0: D#2^119.99999999999034,
30.000000000001137: F#2^119.99999999999034,
89.9999999999892: F#3^29.999999999986926,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: F#2^119.99999999999034,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#3^60.000000000002274,
0: D#2^120.00000000000455,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^60.000000000002274,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: D2^119.99999999999034,
0: F#3^29.999999999986926,
0: D#2^119.99999999999034,
29.999999999986926: F#2^119.99999999999034,
90.00000000000341: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: F#2^119.99999999999034,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#3^60.000000000002274,
0: D#2^120.00000000000455,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^59.99999999998806,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^60.000000000002274,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#3^30.000000000001137,
0: D#2^120.00000000000455,
30.000000000001137: F#2^120.00000000000455,
90.00000000000341: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
0: F#2^119.99999999999034,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#3^60.000000000002274,
0: D#2^120.00000000000455,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^59.99999999998806,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^59.99999999998806,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#3^30.000000000001137,
0: D#2^120.00000000000455,
30.000000000001137: F#2^120.00000000000455,
90.00000000000341: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
0: F#2^119.99999999999034,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: D2^119.99999999999034,
0: F#2^119.99999999999034,
0: D#2^119.99999999999034,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: F#3^60.000000000002274,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#2^120.00000000000455,
0: D#2^120.00000000000455,
30.000000000001137: F#3^30.000000000001137,
90.00000000000341: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
0: F#2^119.99999999999034,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^59.99999999998806,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: D2^119.99999999999034,
0: F#2^119.99999999999034,
0: D#2^119.99999999999034,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: F#3^60.000000000002274,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#2^120.00000000000455,
0: D#2^120.00000000000455,
30.000000000001137: F#3^30.000000000001137,
90.00000000000341: F#3^30.000000000001137,
119.99999999999034: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^60.000000000002274,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#2^120.00000000000455,
0: D#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: F#3^59.99999999998806,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: F#2^120.00000000000455,
0: D#2^120.00000000000455,
30.000000000001137: F#3^30.000000000001137,
90.00000000000341: F#3^30.000000000001137,
119.99999999999034: F#3^59.99999999998806,
0: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^59.99999999998806,
119.99999999999034: F#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D2^120.00000000000455,
0: D#2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: F#2^119.99999999999034,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: D2^119.99999999999034,
0: D#2^119.99999999999034,
0: F#3^30.000000000001137,
30.000000000001137: F#2^119.99999999999034,
89.9999999999892: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
0: F#3^60.000000000002274,
120.00000000000455: F#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
0: F#3^120.00000000000455,
120.00000000000455: D#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^119.99999999999034,
119.99999999999034: D#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^120.00000000000455,
120.00000000000455: D#2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^119.99999999999034,
119.99999999999034: D#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
0: F#3^120.00000000000455,
120.00000000000455: D#2^120.00000000000455,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^120.00000000000455,
120.00000000000455: D#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^120.00000000000455,
120.00000000000455: D#2^120.00000000000455,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
30.000000000001137: F#3^30.000000000001137,
90.00000000000341: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^60.000000000002274,
119.99999999999034: D#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^30.000000000001137,
30.000000000001137: D#2^120.00000000000455,
90.00000000000341: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^59.99999999998806,
119.99999999999034: D#2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^30.000000000001137,
30.000000000001137: D#2^120.00000000000455,
90.00000000000341: F#3^30.000000000001137,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: D#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
0: C2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: D#2^120.00000000000455,
30.000000000001137: F#3^30.000000000001137,
90.00000000000341: F#3^30.000000000001137,
119.99999999999034: F#3^59.99999999998806,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: F#3^59.99999999998806,
119.99999999999034: C2^119.99999999999034,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
0: C2^120.00000000000455,
0: F#3^60.000000000002274,
120.00000000000455: D#2^120.00000000000455,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: F#3^60.000000000002274,
120.00000000000455: C2^120.00000000000455,
119.99999999999034: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
0: C2^119.99999999999034,
0: F#3^30.000000000001137,
30.000000000001137: D#2^119.99999999999034,
89.9999999999892: F#3^30.000000000001137,
120.00000000000455: F#3^60.000000000002274,
120.00000000000455: F#3^60.000000000002274,
119.99999999999034: F#3^60.000000000002274,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
479.99999999998977: C2^119.99999999999034,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^119.99999999999034,
479.99999999998977: C2^119.99999999999034,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
479.99999999998977: C2^119.99999999999034,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
479.99999999998977: C2^119.99999999999034,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
479.99999999998977: C2^119.99999999999034,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
479.99999999998977: C2^119.99999999999034,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
479.99999999998977: C2^119.99999999999034,
480.000000000004: C2^120.00000000000455,
480.000000000004: C2^120.00000000000455,
479.99999999998977: C2^120.00000000000455,
480.0000000000182: C2^120.00000000000455,
479.99999999998977: C2^120.00000000000455,
479.99999999998977: C2^120.00000000000455,
480.0000000000182: C2^120.00000000000455,
479.99999999998977: C2^120.00000000000455,
479.99999999998977: C2^120.00000000000455,
480.0000000000182: C2^120.00000000000455,
479.99999999998977: C2^120.00000000000455,
480.0000000000182: C2^120.00000000000455,
479.99999999998977: C2^119.99999999997613,
479.99999999998977: C2^120.00000000000455,
133920: C2^120.00000000000455,
`,
tune`
`,
tune`
3840,
1920: B4^1920,
1679.9999999999998: G#4^1679.9999999999998,
240.00000000000023: B4^240.00000000000023,
1920: B4^1920,
1679.9999999999998: G#4^1679.9999999999998,
240.00000000000023: B4^240.00000000000023,
1920: B4^1920,
1679.9999999999998: G#4^1679.9999999999998,
240.00000000000023: B4^240.00000000000023,
1920.0000000000018: B4^1920.0000000000018,
1679.9999999999998: G#4^1679.9999999999998,
239.99999999999844: B4^239.99999999999844,
80640: B4^1919.9999999999982,
1919.9999999999875: B4^1919.9999999999875,
1680.0000000000068: G#4^1680.0000000000068,
239.99999999999488: B4^239.99999999999488,
1920.0000000000018: B4^1920.0000000000018,
1680.0000000000068: G#4^1680.0000000000068,
239.99999999999488: B4^239.99999999999488,
1920.0000000000018: B4^1920.0000000000018,
1679.9999999999927: G#4^1679.9999999999927,
111119.99999999999: B4^240.0000000000091,
`,
tune`
`,
tune`
111479.99999999999,
111479.99999999999: F#6^19080.00000000001,
`,
];

let playbacks = [];

function stop() {
    playbacks.forEach((e) => e.end());
}

function play(song) {
    stop(); // stop whats currently playing
    // put playback objects returned by playTune() into the array
    playbacks = song.map((e) => playTune(e));
}

/*
  Bitmap & Init
*/

const bg = "b";

setLegend(
  [ bg, bitmap`
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000` ],
  [ "0", bitmap`
................
.....22.........
...22.22........
...2....22......
..2....2.2......
..2..22..2......
..2.22...2......
..222....2......
..22.....2......
..2.....22......
...2....2.......
....22..2.......
.....222........
................
................
................` ],
  [ "1", bitmap`
................
................
.......22.......
......222.......
....22..2.......
.........2......
.........2......
.........2......
.........2......
.........2......
.........2......
..222222222222..
................
................
................
................` ],
  [ "2", bitmap`
................
................
.......2222.....
.....22....2....
...222.....2....
...2.......2....
...........2....
.........22.....
.....22222......
...222..........
.222............
.2..............
..222222222222..
................
................
................`],
  [ "3", bitmap`
................
................
......22222.....
....222...2.....
...22.....2.....
..........2.....
.......222......
.....222222.....
...........22...
............2...
...2.......22...
....22222222....
................
................
................
................`],
  [ "4", bitmap`
................
................
...22.....2.....
...2......2.....
...2......2.....
...2......2.....
..2......22.....
..2.....222.....
...222222.2.....
..........2.....
..........2.....
...........2....
...........2....
...........2....
................
................`],
  [ "5", bitmap`
................
................
..2222222222....
.22........2....
.2..............
.2..............
.2222222222.....
..........22....
...........2....
............2...
..2.........2...
..22.......22...
...222....22....
.....22222......
................
................`],
  [ "6", bitmap`
................
.......22.......
....222.22......
....2...........
..22............
..2.............
.2...222........
.2.222..22......
.2.2.....22.....
.222......2.....
..2.......2.....
...2......2.....
....222..22.....
......222.......
................
................`],
  [ "7", bitmap`
................
................
....2222222222..
...........2....
..........22....
.........22.....
.........2......
........2.......
.......22.......
.......2........
......2.........
....22..........
....2...........
................
................
................`],
  [ "8", bitmap`
....22222.......
...22....22.....
...2......2.....
...2......2.....
...2......2.....
....2....2......
....222..2......
......222.......
......22.22.....
.....22...22....
....22.....22...
....2.......2...
....2.......2...
....22......2...
.....22....22...
......222222....`],
  [ "9", bitmap`
................
..2222222.2.....
22......222.....
2.........2.....
2.........2.....
2........22.....
.2.......22.....
..2222222.2.....
..........2.....
...........2....
...........2....
...........2....
...........2....
...........2....
...........2....
................`],
  [ ":", bitmap`
................
................
................
......222.......
......222.......
.......22.......
................
................
................
......222.......
......222.......
......222.......
................
................
................
................`],  
  [ "W", bitmap`
....33333333....
...3333333333...
..333333333333..
.33333333333333.
3332333333332333
3333233333332333
3333233333323333
3333233333323333
3333323223223333
3333332222233333
3333332232233333
3333333233233333
.33333333333333.
..333333333333..
...3333333333...
....33333333....`],
  [ "A", bitmap`
....33333333....
...3333333333...
..333322233333..
.33332332233333.
3333323332333333
3333323333233333
3333323333323333
3333322333222333
3333322222222333
3333233333332333
3333233333333233
3332233333333233
.33233333333323.
..333333333333..
...3333333333...
....33333333....`],
  [ "S", bitmap`
....33333333....
...3333333333...
..333322233333..
.33322333222333.
3333233333322333
3333233333333333
3333222222223333
3333333333323333
3333333333322333
3332333333332333
3332233333332333
3333222222223333
.33333333333333.
..333333333333..
...3333333333...
....33333333....`],  
  [ "D", bitmap`
....33333333....
...3333333333...
..333233333333..
.33322222333333.
3333223332233333
3333223333233333
3333323333233333
3333323333233333
3333323332233333
3333323222333333
3333222233333333
3333333333333333
.33333333333333.
..333333333333..
...3333333333...
....33333333....`],  
  [ "I", bitmap`
....77777777....
...7777777777...
..777777777777..
.77772222222777.
7777777727777777
7777777727777777
7777777727777777
7777777727777777
7777777727777777
7777777727777777
7777777727777777
7777722222222777
.77772222222777.
..777777777777..
...7777777777...
....77777777....`],
  [ "J", bitmap`
....77777777....
...7777777777...
..777777727777..
.77777777227777.
7777777772277777
7777777772277777
7777777772277777
7777777772277777
7777227772277777
7777227772277777
7777227772277777
7777222222277777
.77772222277777.
..777777777777..
...7777777777...
....77777777....`],
  [ "K", bitmap`
....77777777....
...7777777777...
..777727777777..
.77772277722777.
7777722772277777
7777722722777777
7777722727777777
7777722277777777
7777722277777777
7777722727777777
7777722772777777
7777722772277777
.77772277722777.
..777777777777..
...7777777777...
....77777777....`],  
  [ "L", bitmap`
....77777777....
...7777777777...
..777777777777..
.77722277777777.
7777222777777777
7777222777777777
7777222777777777
7777222777777777
7777222777777777
7777222777777777
7777222222222777
7777222222222777
.77722222222277.
..777777777777..
...7777777777...
....77777777....`], 
  [ "^", bitmap`
................
................
................
.......22.......
......2..2......
......2..2......
.....2....2.....
.....2....2.....
....2......2....
....2......2....
...2........2...
...2........2...
..2..........2..
................
................
................`],
  [ "v", bitmap`
................
................
................
..2..........2..
...2........2...
...2........2...
....2......2....
....2......2....
.....2....2.....
.....2....2.....
......2..2......
......2..2......
.......22.......
................
................
................`]
);

setSolids([]);

setMap(map`
..........
..........
..........
..........
..........
..........
..........
..........
..........`); // 9x9
setBackground(bg);

// Generate tilemap
for (let x = 0; x < width(); x++) {
  for (let y = 0; y < height(); y++) {
    addSprite(x, y, bg);
  }
}

// Helpers
function getDigit(num, digit) {
  if (num < 10) { num = "0" + num; }
  return (num+"")[digit];
}

function get(x, y) {
  return getTile(x, y)[0];
}

// Drawers
function clear() {
  for (let x = 0; x < width(); x++) {
    for (let y = 0; y < height(); y++) {
      get(x, y).type = bg;
    }
  }
  clearText();
}

function drawTime(hour, min, sec) {  
  get(1, 4).type = getDigit(hour, 0); 
  get(2, 4).type = getDigit(hour, 1);
  get(3, 4).type = ":";
  get(4, 4).type = getDigit(min, 0); 
  get(5, 4).type = getDigit(min, 1); 
  get(6, 4).type = ":";
  get(7, 4).type = getDigit(sec, 0); 
  get(8, 4).type = getDigit(sec, 1); 
}

function drawMenu(selected) {
  clear();
  
  addText("Exit with A\nSelect With D", {
    x: 2,
    y: 2,
    color: color`1`      
  });  
  
  for (let i = 0; i < menuOpt.length; i++) {
    if (i == selected) {
      addText(menuOpt[i], {
        x: 2,
        y: 5 + i,
        color: color`4`      
      });
    } 
    else {
      addText(menuOpt[i], {
        x: 2,
        y: 5 + i,
        color: color`2`      
      });
    }
  }

  /*addText("" + selection, {
    x: 2,
    y: 12,
    color: color`1`      
  });*/    
}

function drawAbout() {
  clear();
  
  addText("Click to exit", {
    x: 2,
    y: 2,
    color: color`1`      
  });  
  
  addText(
 `Not Trademarked
by Manitej Boorgu`, {
    x: 2,
    y: 4,
    color: color`2`      
  });  
}

let enableLogo = false;

class ClockManager {
  constructor() {
    this.clockID = null;
  }
  
  start() {
    let curTime = new Date();
    drawTime(curTime.getHours(), curTime.getMinutes(), curTime.getSeconds());
    this.clockID = setInterval(() => {
      curTime = new Date();

      if (curTime.getHours() == alarm.getHours() &&
          curTime.getMinutes() == curTime.getMinutes() &&
          alarmOn) {
        this.stop();
        mode = ALARM;
        update();
        return;
      }

      if (enableLogo) {
          addText("Sprig Alarm", {
            x: 4,
            y: 5,
            color: color`4`      
          });  
          addText("Make Waking", {
            x: 4,
            y: 9,
            color: color`4`      
          });          
          addText("Up Easier", {
            x: 5,
            y: 10,
            color: color`4`      
          });                  
      }

      drawTime(curTime.getHours(), curTime.getMinutes(), curTime.getSeconds());
    }, 1000);
  }
  
  stop() {
    clearInterval(this.clockID);
  }
}

function randInt(a, b) {
  return Math.floor(Math.random() * (b-a)) + a;
}

/*
  Processor
*/
let clockManager = new ClockManager();
clockManager.start();

let alarm = new Date(0, 0, 0, 0, 0, 0);
let alarmOn = false;
let alarming = false;

// I'm totally not lazy and having JS do some of my work
let memoryMatch = new Date(0, 0, 0, 0, 0, 0);
let inputMatch = new Date(0, 0, 0, 0, 0, 0);

/*
  Interaction Manager
*/
const DEFAULT = 0;
const MENU = 1;
const ALARM_EDIT = 2;
const ALARM_TOGGLE = 3;
const ALARM = 4;
const ABOUT = 5;
let mode = DEFAULT;

const menuOpt = [
  "Set Alarm Time",
  "Toggle Alarm",
  "Test Alarm",
  "About Sprig Alarm"
]
let selection = 0;

function update() {
  if (mode == DEFAULT) {
    clear();
    selection = 0; 
    clockManager.start();
  }
  else if (mode == MENU) {
    drawMenu(selection);  
  }
  else if (mode == ALARM_EDIT) {
    clear();
    drawTime(alarm.getHours(), alarm.getMinutes(), alarm.getSeconds());    

    addText("Select with A&D\nExit with A", {
      x: 2,
      y: 2,
      color: color`1`      
    });  
    
    if (selection == -1) {
      selection = 0;
      clear();
      mode = DEFAULT;
      clockManager.start();
      return;
    }
    else if (selection == 0) {
      get(2, 3).type = "v";
      get(2, 5).type = "^";
    }
    else if (selection == 1) {
      get(5, 3).type = "v";
      get(5, 5).type = "^";
    }
    else if (selection == 2) {
      get(8, 3).type = "v";
      get(8, 5).type = "^";
    }    
  }
  else if (mode == ALARM_TOGGLE) {
    clear();
    addText("Exit with A\nToggle with D", {
      x: 2,
      y: 2,
      color: color`1`      
    });  
    if (alarmOn) {
      addText("Alarm Enabled", {
        x: 2,
        y: 5,
        color: color`4`      
      });        
    } else {      
      addText("Alarm Disabled", {
        x: 2,
        y: 5,
        color: color`3`      
      });  
    }
  }
  else if (mode == ALARM && alarmOn) {
    clear();
    // Check if the alarm already went off
    if (!alarming) {
      // Initalize the alarm
      memoryMatch = new Date(0, 0, 0, randInt(1,23), randInt(0,59), randInt(0,59)); // Generate a code
      inputMatch = new Date(0, 0, 0, 0, 0, 0);
  
      drawTime(memoryMatch.getHours(), memoryMatch.getMinutes(), memoryMatch.getSeconds()); // Draw the code
  
      addText("Click any button\nto re-enter\nthe code", {
        x: 2,
        y: 2,
        color: color`1`
      });      

      play(tracks);
    } else {
        drawTime(inputMatch.getHours(), inputMatch.getMinutes(), inputMatch.getSeconds());    
    
        addText("Select with A&D\nExit with A", {
          x: 2,
          y: 2,
          color: color`1`      
        });  
        
        if (selection == 0) {
          get(2, 3).type = "v";
          get(2, 5).type = "^";
        }
        else if (selection == 1) {
          get(5, 3).type = "v";
          get(5, 5).type = "^";
        }
        else if (selection == 2) {
          get(8, 3).type = "v";
          get(8, 5).type = "^";
        }          
    }
  }
  else if (mode == ABOUT) {
    drawAbout();
  } else {
    mode = DEFAULT;
    update();
  }
}

function interact(key) {
  if (mode == DEFAULT) {
    mode = MENU;
    clockManager.stop();
    update();
  } 
  else if (mode == MENU) {
    if (key == "w" && selection - 1 >= 0) { selection--; }
    else if (key == "s" && selection + 1 < menuOpt.length) { selection++; }
    else if (key == "a") { mode = DEFAULT; }
    else if (key == "d") {
      if (selection == 0) {
        mode = ALARM_EDIT;
      }
      else if (selection == 1) {
        mode = ALARM_TOGGLE;
      }
      else if (selection == 2) {
        mode = ALARM;
      }
      else if (selection == 3) {
        mode = ABOUT;
      }      
    }
    update();
  } 
  else if (mode == ALARM_EDIT) {
    if (key == "a" && selection - 1 >= -1) { selection--; }
    else if (key == "d" && selection + 1 < 3 ) { selection++; }   

    if (selection == 0) {
      if (key == "w") {
        alarm.setHours(alarm.getHours() + 1);
      } else if (key == "s") {
        alarm.setHours(alarm.getHours() - 1);
      }
    }
    else if (selection == 1) {
      if (key == "w") {
        alarm.setMinutes(alarm.getMinutes() + 1);
      } else if (key == "s") {
        alarm.setMinutes(alarm.getMinutes() - 1);
      }
    }
    else if (selection == 2) {
      if (key == "w") {
        alarm.setSeconds(alarm.getSeconds() + 1);
      } else if (key == "s") {
        alarm.setSeconds(alarm.getSeconds() - 1);
      }
    }
    
    update();
  }
  else if (mode == ALARM_TOGGLE) {
    if (key == "a") {
      mode = DEFAULT;
    }
    else if (key == "d") {
       alarmOn = !alarmOn; 
    }
    update();
  }
  else if (mode == ALARM && alarmOn) {
    if (!alarming) {      
      alarming = true;
      update();
      return;
    } else {
      if (key == "a" && selection - 1 >= 0) { selection--; }
      else if (key == "d" && selection + 1 < 3 ) { selection++; }   
    
      if (selection == 0) {
        if (key == "w") {
          inputMatch.setHours(inputMatch.getHours() + 1);
        } else if (key == "s") {
          inputMatch.setHours(inputMatch.getHours() - 1);
        }
      }
      else if (selection == 1) {
        if (key == "w") {
          inputMatch.setMinutes(inputMatch.getMinutes() + 1);
        } else if (key == "s") {
          inputMatch.setMinutes(inputMatch.getMinutes() - 1);
        }
      }
      else if (selection == 2) {
        if (key == "w") {
          inputMatch.setSeconds(inputMatch.getSeconds() + 1);
        } else if (key == "s") {
          inputMatch.setSeconds(inputMatch.getSeconds() - 1);
        }
      }

      if (inputMatch.getHours() == memoryMatch.getHours() &&
          inputMatch.getMinutes() == memoryMatch.getMinutes() &&
          inputMatch.getSeconds() == memoryMatch.getSeconds()) {
        alarming = false;
        mode = DEFAULT;
        stop();
        // Set alarm re-enable delay
        alarmOn = false;
      }
      
      update();
    }
  }
  else if (mode == ABOUT) {
    clear();
    mode = DEFAULT;
    clockManager.start();
  }
  else {
    mode = DEFAULT;
    update();
  }
}

onInput("w", () => { interact("w"); });
onInput("a", () => { interact("a"); });
onInput("s", () => { interact("s"); });
onInput("d", () => { interact("d"); });
onInput("i", () => { interact("i"); });
onInput("j", () => { interact("j"); });
onInput("k", () => { interact("k"); });
onInput("l", () => { interact("l"); });
